package impresor.etiquetas.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Type;
/**
 * 
 * @author Pablo Moreno
 *
 */
@Entity
@Table(name="PFBS_City" , catalog="matrix")
public class Ciudad implements Serializable{

    private static final long serialVersionUID = -8350644904210411808L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "CityId")
    private long idCiudad;
    
    @Column(name = "CityName")
    private String nombre;
    
    @Column(name = "CityDescription")
    private String descripcion;
    
    @ManyToOne
    @JoinColumn(name="CountyId")
    @ForeignKey(name="FK_PFBS_City_PFBS_County")
    private Provincia provincia;
    
    @Column(name = "IsDeleted", columnDefinition = "TINYINT")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean eliminado;

    /**
     * @return the idCiudad
     */
    public long getIdCiudad() {
        return idCiudad;
    }

    /**
     * @param idCiudad the idCiudad to set
     */
    public void setIdCiudad(long idCiudad) {
        this.idCiudad = idCiudad;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @return the provincia
     */
    public Provincia getProvincia() {
        return provincia;
    }

    /**
     * @param provincia the provincia to set
     */
    public void setProvincia(Provincia provincia) {
        this.provincia = provincia;
    }

    /**
     * @return the eliminado
     */
    public boolean isEliminado() {
        return eliminado;
    }

    /**
     * @param eliminado the eliminado to set
     */
    public void setEliminado(boolean eliminado) {
        this.eliminado = eliminado;
    }
    
}
